

#ifndef UC_GECOMP2D_H
#define UC_GECOMP2D_H

#include "zgecurv2d.h"
#include "zgevptar.h"
#include "zgeintarr.h"
#pragma pack (push, 8)

class 
GE_DLLEXPIMPORT
UcGeCompositeCurve2d : public UcGeCurve2d
{
public:
    UcGeCompositeCurve2d  ();
    UcGeCompositeCurve2d  (const UcGeVoidPointerArray& curveList);
    UcGeCompositeCurve2d  (const UcGeVoidPointerArray& curveList,
		                   const UcGeIntArray& isOwnerOfCurves);
    UcGeCompositeCurve2d  (const UcGeCompositeCurve2d& compCurve);

    void		          getCurveList       (UcGeVoidPointerArray& curveList) const;

    UcGeCompositeCurve2d& setCurveList       (const UcGeVoidPointerArray& curveList);
    UcGeCompositeCurve2d& setCurveList       (const UcGeVoidPointerArray& curveList,
		                                      const UcGeIntArray& isOwnerOfCurves);

	double				  globalToLocalParam ( double param, int& crvNum ) const; 
	double				  localToGlobalParam ( double param, int crvNum ) const;

    UcGeCompositeCurve2d& operator =         (const UcGeCompositeCurve2d& compCurve);
};

#pragma pack (pop)
#endif
